package com.richpay.basejava.base16;

/**
 * String,StringBuffer和StringBuilder有何区别？
 * <p>
 * String是定长字符串，一旦实例化后对象的内容就不可以改变了，
 * 指的是堆内存中的对象的内容不可改变，但变量的引用地址是可以改变的。
 * <p>
 * StringBuffer和StringBuilder都是变长字符串，
 * 在实例化对象后可以继续通过方法向对象中进行字符串的添加、修改、删除和获取等操作。
 * <p>
 * StringBuffer是线程安全的，效率低，出现比较早，在JDK1.0中已经有了，是骨灰级人物。
 * <p>
 * StringBuilder是线程不安全的，效率高，出现的比较晚，在JDK1.5中才加入的，是新人。
 * <p>
 * StringBuffer和StringBuilder中的方法完全一样，所不同的是在StringBuilder中取消了锁机制。
 */
public class StringDemo {
    public static void main(String[] args) {
        String str1 = "张三";
        str1 = "李四";
       // System.out.println("str1=" + str1);

        int len = str1.length();//返回字符串的长度
       // System.out.println("len=" + len);

        System.out.print(String.format("%-10s", "a"));
    }

}
